'use strict';

const Controller = require('egg').Controller;

class MovieController extends Controller {
  async find(m) {
    const db = this.app.mongodb
    const res = await db.collection(m).find().toArray()
    return res
  }
  async getMovieDetailOrSearch(obj){
      const db = this.app.mongodb
      const tables = ["top250","inTheaters","comingSoon"]
      var sum = []
      for(var i=0;i<tables.length;i++){
        if(obj.id){
            var res = await db.collection(tables[i]).find({_id:obj.id}).toArray()
            sum.push(...res)
        }else if(obj.keyword){
            var keyword = new RegExp(obj.keyword)
            var res = await db.collection(tables[i]).find({title:keyword}).toArray()
            sum.push(...res)
        }
      }
      return sum
  }
  async handleCollected(id,collected){
    const tables = ["top250","inTheaters","comingSoon"]
    const db = this.app.mongodb
    for(var i=0;i<tables.length;i++){
      await db.collection(tables[i]).updateOne({_id:id},{$set:{collected}})
      return await db.collection(tables[i]).find({_id:id}).toArray()
    }
  }
}

module.exports = MovieController;
